const expect=require('chai').expect;


describe('keys(...)',()=>{
    it('base',()=>{
        expect({a:1}).keys('a');
    });

    it('key不存在于对象',()=>{
        expect({a:1}).keys('a','b');
    });

    it('key不存在于对象-any',()=>{
        expect({a:1}).any.keys('a','b');
    });

    it('key少于对象',()=>{
        expect({a:1,b:2}).keys('a');
    });

    it('all',()=>{
        expect({a:1,b:2}).all.keys('a');
    });

    it('any',()=>{
        expect({a:1,b:2}).any.keys('a');
    });

    it('include',()=>{
        expect({a:1,b:2}).include.keys('a');
    });

    it('contains',()=>{
        expect({a:1,b:2}).contains.keys('a');
    });

    it('include.contains.any.keys',()=>{
        expect({a:1,b:2}).include.contains.any.keys('a');
    });

    it('include.all',()=>{
        expect({a:1,b:2}).include.all.keys('a');
    });

});


describe('keys([...])',()=>{
    it('base',()=>{
        expect({a:1}).keys(['a']);
    });

    it('key不存在于对象',()=>{
        expect({a:1}).keys(['a','b']);
    });

    it('key不存在于对象-any',()=>{
        expect({a:1}).any.keys(['a','b']);
    });

    it('key少于对象',()=>{
        expect({a:1,b:2}).keys(['a']);
    });

    it('all',()=>{
        expect({a:1,b:2}).all.keys(['a']);
    });

    it('any',()=>{
        expect({a:1,b:2}).any.keys(['a']);
    });

    it('include',()=>{
        expect({a:1,b:2}).include.keys(['a']);
    });

    it('contains',()=>{
        expect({a:1,b:2}).contains.keys(['a']);
    });

    it('include.contains.any.keys',()=>{
        expect({a:1,b:2}).include.contains.any.keys(['a']);
    });

    it('include.all',()=>{
        expect({a:1,b:2}).include.all.keys(['a']);
    });

});